#测试浅拷贝和深拷贝
'''
copy(浅拷贝)、deepcopy(深拷贝)
共同：
不管是浅拷贝还是深拷贝，都会创建一个新的对象
不同：
浅拷贝：浅拷贝创建一个新的对象，但这个新对象中的元素仍然是原对象中元素的引用。也就是说，浅拷贝只复制了最外层的对象，而内部的可变对象仍然共享同一个引用。
深拷贝：深拷贝不仅创建一个新的对象，还会递归地复制所有嵌套的对象。也就是说，深拷贝会创建一个完全独立的新对象，包括内部的所有可变对象。
示例
'''
import copy

def testCopy():
    '''测试浅拷贝'''
    a = [10, 20, [5, 6]]
    b = copy.copy(a)

    print("a", a)
    print("b", b)
    b.append(30)
    b[2].append(7)
    print("浅拷贝......")
    print("a", a)
    print("b", b)

def testDeepCopy():
    '''测试深拷贝'''
    a = [10, 20, [5, 6]]
    b = copy.deepcopy(a)

    print("a", a)
    print("b", b)
    b.append(30)
    b[2].append(7)
    print("深拷贝......")
    print("a", a)
    print("b", b)

testCopy()
print("*************")
testDeepCopy()




 